package components

import (
	"reflect"
)

// InArray 检查元素是否在切片中
func InArray(needle interface{}, haystack interface{}) bool {
	s := reflect.ValueOf(haystack)

	if s.Kind() != reflect.Slice {
		return false
	}

	for i := 0; i < s.Len(); i++ {
		if reflect.DeepEqual(s.Index(i).Interface(), needle) {
			return true
		}
	}

	return false
}
